//package com.ztf.sm;
//
//import com.ztf.sm.util.SM2KeyPair;
//import com.ztf.sm2.Sm2Utils;
//import com.ztf.sm.util.Sm4Util;
//import com.ztf.sm.util.Util;
//
//import java.io.IOException;
//import java.util.ArrayList;
//import java.util.List;
//
///**
// * @projectName: javabase
// * @package: com.ztf.sm.util
// * @className: Main
// * @author: kevin
// * @description: 测试加密
// * @date: 2022/4/12 0012 15:28
// * @version: 1.0
// */
//public class Main {
//
//    public static void main(String[] args) {
//        Main main = new Main();
//        main.decodeAndEncodeSM4();
//    }
//
//    public void decodeAndEncodeSM4(){
//        try {
//            String json = "lxmao";
//            System.out.println("加密前源数据————" + json);
//            // 生成32位16进制密钥
////            String key = Sm4Util.generateKey();
//            String key = "5bc1920a58a10fd7d0e9d6268afaed50";
//            System.out.println(key + "-----生成key");
//            String cipher = Sm4Util.encryptEcb(key, json);
//            System.out.println("加密串---" + cipher);
//            System.out.println(Sm4Util.verifyEcb(key, cipher, json));
////            String xx = "5bc1920a58a10fd7d0e9d6268afaed50";//577d4d308679f24616deb2f2f7467ffb
//            json = Sm4Util.decryptEcb("5BC1920A58A10FD7D0E9D6268AFAED50", "87F49E000F3CB98984B2D8FB2E73F2F0");
////            json = Sm4Util.decryptEcb(key, cipher);
//            System.out.println("解密后数据---" + json);
//        } catch (Exception e) {
//            e.printStackTrace();
//        }
//    }
//
//    //SM2的加解密
//    public void decodeAndEncodeSM2() throws IOException {
//        //生成密钥对
//        String plainText = "年后的";
//        //下面的秘钥可以使用generateKeyPair()生成的秘钥内容
//        // 国密规范正式私钥
//        String prik = "00D1FE94762CA98A461A41A2F6D4065119B630C3F34B1FAF9786D83993FBCB7245";
//        // 国密规范正式公钥
//        String pubk = "04706E797BBA0D6DC689D14C3D9C2895B12D9C42B2E8887D593D5F8C7AC6D87F2ACD6E3EF207DB193035DF80CE0B65C51E3CB08F37F88620216997E469AF7E1743";
//        System.out.println("-------加密: ");
//        //String cipherText = SM2Utils.encrypt(Util.hexStringToBytes(pubk), plainText.getBytes());
//        String cipherText = SM2Utils.encrypt(pubk, plainText);
//        System.out.println(cipherText);
//        System.out.println("-------加密后字符串长度:" + cipherText.length());
//        System.out.println("-------解密: ");
//        byte[] decrypt = SM2Utils.decrypt(Util.hexStringToBytes(prik), Util.hexStringToBytes(cipherText));
//        System.out.println(new String(decrypt));
//        // String decrypt = SM2Utils.decrypt(prik, "04148bffb8fb46212d0504ecb90c360a7b28975f638312646d5ef8d019ddc0d00329e035984c218eb15d06f1c430f004d72d2c3f561a8c98ccae5f5dd7ab7473c0f13211c29d1017c145d1c085cedb8655d18ceb25555e6eebaec480ce6728566b91e6581fb089c5d3");
//        // System.out.println(decrypt);
//    }
//
//
//    //生成sm2的公钥和私钥
//    public SM2KeyPair generateSM2(){
//        List<String> list = new ArrayList<String>();
//        SM2KeyPair sM2KeyPair = SM2Utils.generateKeyPair();//
//        return sM2KeyPair;
//    }
//
//
//}
